package com.southminority.ethnic.pojo;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;

import java.io.Serializable;

import com.southminority.ethnic.column.ExcelColumn;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * 课程表
 * @TableName course
 */
@EqualsAndHashCode(callSuper = true)
@TableName(value ="course")
@Data
public class Course extends BasePoJo implements Serializable {
    /**
     * 课程ID
     */
    @TableId(type = IdType.AUTO)
    @ExcelColumn(name = "课程ID", columnWidth = 10, value = "1",hidden = true)
    @Schema(description = "课程ID")
    private Long id;

    /**
     * 课程名称
     */
    @Schema(description = "课程名称")
    @ExcelColumn(name = "课程名称", columnWidth = 20, nonNull = true, value = "少数民族语言入门")
    private String courseName;

    /**
     * 课程简介
     */
    @Schema(description = "课程简介")
    @ExcelColumn(name = "课程简介", columnWidth = 40, value = "课程简介示例")
    private String courseIntro;

    /**
     * 讲师ID
     */
    @Schema(description = "讲师ID")
    @ExcelColumn(name = "讲师ID", columnWidth = 15, value = "1001")
    private Long teacherId;

    /**
     * 课程封面图片URL
     */
    @Schema(description = "课程封面图片URL")
    @ExcelColumn(name = "封面URL", columnWidth = 40, value = "https://example.com/cover.png")
    private String coverImage;

    /**
     * 视频时长（秒）
     */
    @Schema(description = "视频时长（秒）")
    @ExcelColumn(name = "视频时长(秒)", columnWidth = 15, value = "3600")
    private Integer videoDuration;

    /**
     * 视频路径（OSS地址）
     */
    @Schema(description = "视频路径（OSS地址）")
    @ExcelColumn(name = "视频路径", columnWidth = 40, value = "oss://bucket/path/video.mp4")
    private String videoPath;

    /**
     * 评分（最高5分，最低0分）
     */
    @Schema(description = "评分（最高5分，最低0分）")
    @ExcelColumn(name = "评分", columnWidth = 10, value = "4.5", hidden = true)
    private Double star;

    /**
     * 课程类型(1-民族语学习，2-口头文学，3-民族文献解读，4-少数民族学习国家通用语)
     */
    @Schema(description = "课程类型(1-民族语学习，2-口头文学，3-民族文献解读，4-少数民族学习国家通用语)")
    @ExcelColumn(name = "课程类型(1-民族语学习，2-口头文学，3-民族文献解读，4-国家通用语)", columnWidth = 25, value = "1")
    private Integer courseType;
} 